<?php
namespace app\admin\validate\system\notify;

use think\Validate;

/**
 * 通知节点配置验证
 */
class NotifyNode extends Validate
{
    /**
     * 定义验证规则
     * 格式：'字段名'    =>    ['规则1','规则2'...]
     *
     * @var array
     */
    protected $rule = [
        'id'                => 'require',
        'content'           => 'require',
        'sms_template_code' => 'requireCallback:checkSms',
    ];

    /**
     * 定义错误信息
     * 格式：'字段名.规则名'    =>    '错误信息'
     *
     * @var array
     */
    protected $message = [
        'id'                => '操作出错',
        'content'           => '消息内容必须填写',
        'sms_template_code' => '请填写短信模板',

    ];

    protected function checkSms($value, $data)
    {
        $open_info = $data['open_info'] ?? [];
        if (in_array('sms', $open_info)) {
            return true;
        }
    }

}
